package fun.sanguo.service.record;

import fun.sanguo.model.dto.PageInfo;
import fun.sanguo.model.dto.PageInsert;
import fun.sanguo.model.dto.PageQuery;
import fun.sanguo.model.dto.PageUpdate;
import fun.sanguo.model.dto.record.RecordRoleInsert;
import fun.sanguo.model.dto.record.RecordRoleParam;
import fun.sanguo.model.dto.record.RecordRoleUpdate;
import fun.sanguo.model.entity.record.RecordRoleEntity;
import fun.sanguo.utils.exception.ArtificialException;

/**
 * 内容管理-角色列表 Service接口
 *
 * @author ZYP
 * @date 2023-04-25
 */
public interface RecordRoleService {

    /**
     * 查询页面table列表
     *
     * @param pageQuery
     * @return
     * @throws ArtificialException
     */
    PageInfo<RecordRoleEntity> getPage(PageQuery<RecordRoleParam> pageQuery) throws ArtificialException;

    /**
     * 新增
     *
     * @param pageInsert
     * @return
     * @throws ArtificialException
     */
    boolean insert(PageInsert<RecordRoleInsert> pageInsert) throws ArtificialException;

    /**
     * 编辑
     *
     * @param pageUpdate
     * @return
     * @throws ArtificialException
     */
    boolean update(PageUpdate<RecordRoleUpdate> pageUpdate) throws ArtificialException;

    /**
     * 删除
     *
     * @param pageUpdate
     * @return
     * @throws ArtificialException
     */
    boolean delete(PageUpdate<RecordRoleUpdate> pageUpdate) throws ArtificialException;
}
